/* **************************************************************************
 * Ejemplos de como llamar a la funcion log
 *
 * escribir_logfile(NOMPS, INFO, "en orden");
 * escribir_logfile(NOMPS, WARN, "guarda que estoy desbarrancando");
 * escribir_logfile(NOMPS, ERROR, "el sistema no quiere hacer nada");
 * escribir_logfile(NOMPS, DEBUG, "tirando paso a paso cañaso");
 * **************************************************************************
 *
 * PARAMETROS
 *
 * 	nomProceso: MODIFICAR DEFINE NOMPS. El nombre del proceso, ej: FileSystemTirateUnPaso.
 *
 * 	tipo: INFO, WARN, ERROR, DEBUG.
 *
 * 	dato: Lo que les parezca necesario, ej: "Error recibiendo informacion.", "Puerto abierto correctamente."
 *
 * **************************************************************************
 *
 * LA FUNCION SE VANCA MULTIPLES ACCESO DE DISTINTOS THREADS
 * CONSISTENCIA DEL ARCHIVO LOG
 *
 * El archivo es creado en la carpeta del proyecto/ejecutable, a menos que al redefinir el
 * DEFINE LOG, se especifique la ruta relativa/absoluta en donde se quiere dicho archivo
 * ej: #define LOG "/home/..../dondeSeTeOcurra/logfile.log"
 *
 */

#ifndef LOGFILE_H_
#define LOGFILE_H_

/***************************************************************************/
/****************************** INCLUDES ***********************************/
/***************************************************************************/

#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/timeb.h>
#include <pthread.h>

/***************************************************************************/
/****************************** DEFINES ************************************/
/***************************************************************************/

#define INFO	1
#define WARN	2
#define ERROR	3
#define DEBUG	4

//	Imprimir el log por pantalla
#define IMPRIMIR_LOG	0

/* 	******************************* */
/* 	******************************* */
/*	NOMBRE DEL ARCHIVO LOG			*/
/* 	******************************* */
/* 	******************************* */
#define LOG "logfile.log"

/* 	******************************* */
/* 	******************************* */
/*	DEFINIR EL NOMBRE DEL PROCESO	*/
/* 	******************************* */
/* 	******************************* */
#define NOMPS "Archivo Configuracion"

/***************************************************************************/
/****************************** FUNCIONES  *********************************/
/***************************************************************************/

/* FUNCION LOG */
int32_t escribir_logfile(char *, int32_t, char *);

#endif /* LOGFILE_H_ */
